1. Field of the Invention
The present invention relates to rendering three-dimensional surfaces from volumetric data.
2. Description of Related Art
Regularly spaced volumetric data acquired from various sources such as computer tomography (CT), magnetic resonance (MR) imaging, ultrasound, and various other imaging means defines volume pixels or `voxels` between the data. The data values represent a physical aspect of the object being imaged at a number of locations throughout the imaging volume. Typically these values change significantly at interfaces between different types of material. These interfaces may be visualized as surfaces. Besides indicating the interface of two materials, as in the case in medical imaging, they may be arbitrary thresholds as in the case of temperature differences, indicating isotherms or pressure differences indicating isobars of weather data. For whatever use, it is important to visualize surfaces within a block of volumetric data.
Many times the spacing between adjacent measurement points is different from the spacing between layers of adjacent measurements. For example, data values having equal spacing between adjacent values and between layers would have an aspect ratio of (length; width; height) of (1:1:1). An aspect ratio for measurements having equal spaces between adjacent measurements but twice the distance between layers would have an aspect ratio of (1:1:2). Since many systems employ the same spacing between adjacent data values in a "layer" but a different spacing between layers of data, the measurements may be described by an `aspect ratio` A, being the relative spacing of the long dimension(s) to the short dimension(s), such as A=2, in the above example.
U.S. Pat. No. 4,719,585, Jan. 12, 1988, Cline et al. "Dividing Cubes System and Method for the Display of Surface Structures Contained Within the Interior Region of a Solid Body" ("Dividing Cubes") describes a method of determining surfaces in volumetric data and rendering those surfaces. An objective of the `dividing cubes` patent is to break up the voxels of the volumetric data into successively smaller voxels and to interpolate intervening values in three dimensions. This employed tri-linear interpolation, to create other intervening values. Tri-linear interpolation typically is computationally expensive and slows the process down. This method would be faster if there were no tri-linear interpolation.
In many types of rendering and imaging it is important to quickly render surfaces. Dividing cubes is most efficient when the aspect ratio are integral numbers. For example an aspect of ratio of A=4 would be computationally less expensive than a fractional ratio such as A=4.36. This is because their fractional aspect ratios require floating point math.
The `stretching cubes` application referenced above describes another method of dealing with anisotropic volumetric data. In stretching cubes the order of rotation and scaling is reversed to eliminate the need for 3D interpolation. Interpolation occurs in 2 dimensions on the 2D-screen image. An isotropic volumetric data set is treated as if it were isotropic with an aspect ratio A=1. The model is rotated and rendered into a two dimensional screen space producing a data for a distorted 2D-screen image.
Knowing beforehand the aspect ratio A and the angles at which the model is to be rendered, it is a simple geometry problem to work backwards to determine the degree which the 2D screen image is distorted. The 2D-screen image is then `distorted` in a direction opposite to the calculated distortion based upon the rendering angles and the aspect ratio of the original data. This may be done quickly since it is applied in two dimensions.
However, the resolution of the resulting 2D-screen image is dependent upon the viewing angle of the image. Since it is `stretched` more in one dimension than another, the resolution suffers depending upon the selected viewing angle.
Currently there is a need for a rapid and high-resolution method of rendering surfaces from anisotropic volumetric data.